<template>
  <el-card>
    <div class="mod-config">
     
      <el-table
        :data="dataList"
        border
        v-loading="dataListLoading"
        style="width: 100%;">
        <el-table-column
          prop="course.courseCode"
          header-align="center"
          align="center"
          label="课程代码">
        </el-table-column>
        <el-table-column
          prop="courseName"
          header-align="center"
          align="center"
          label="课程名称">
        </el-table-column>
        <el-table-column
          prop="scores"
          header-align="center"
          align="center"
          label="成绩">
        </el-table-column>
        <el-table-column
          prop="credits"
          header-align="center"
          align="center"
          label="学分绩点">
        </el-table-column>
        <el-table-column
          prop="classHour"
          header-align="center"
          align="center"
          label="课时">
        </el-table-column>
        
      </el-table>
      <el-pagination
        @size-change="sizeChangeHandle"
        @current-change="currentChangeHandle"
        :current-page="pageIndex"
        :page-sizes="[10, 20, 50, 100]"
        :page-size="pageSize"
        :total="totalPage"
        layout="total, sizes, prev, pager, next, jumper">
      </el-pagination>
     
    </div>
  </el-card>
    
  </template>
  
  <script>
    import { scoresApi } from '@/api/course'
    export default {
      data () {
        return {
          dataList: [],
          pageIndex: 1,
          pageSize: 10,
          totalPage: 0,
          dataListLoading: false,
        }
      },
      mounted () {
        this.getDataList()
      },
      methods: {
        // 获取数据列表
        getDataList () {
          this.dataListLoading = true
          let data ={
              'page': this.pageIndex,
              'limit': this.pageSize
            }
          scoresApi.getMyScores(data)
          .then(data => {
            if (data && data.code === 20000) {
              this.dataList = data.page.list
              this.totalPage = data.page.totalCount
            } else {
              this.dataList = []
              this.totalPage = 0
            }
            this.dataListLoading = false
          })
        },
        // 每页数
        sizeChangeHandle (val) {
          this.pageSize = val
          this.pageIndex = 1
          this.getDataList()
        },
        // 当前页
        currentChangeHandle (val) {
          this.pageIndex = val
          this.getDataList()
        },
        // 多选
        selectionChangeHandle (val) {
          this.dataListSelections = val
        },
        // 新增 / 修改
        addOrUpdateHandle (id) {
          this.addOrUpdateVisible = true
          this.$nextTick(() => {
            this.$refs.addOrUpdate.init(id)
          })
        },
        // 删除
        deleteHandle (id) {
          var ids = id ? [id] : this.dataListSelections.map(item => {
            return item.id
          })
          this.$confirm(`确定对[id=${ids.join(',')}]进行[${id ? '删除' : '批量删除'}]操作?`, '提示', {
            confirmButtonText: '确定',
            cancelButtonText: '取消',
            type: 'warning'
          }).then(() => {
            scoresApi.deleteScores(ids).then(()=>{
              this.$message({
                  message: '操作成功',
                  type: 'success',
                  duration: 1500,
                  onClose: () => {
                    this.getDataList()
                  }
                })
            })
          })
        }
      }
    }
  </script>
  